A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1.) Field of the Invention
The field of the present invention relates to optical reading systems and, more particularly, to methods and apparatus for triggerless optical reading and for improving signal quality and readability in optical readers of bar codes, symbols and other indicia.
2.) Background
Optical readers have been developed for reading bar codes, symbols and other indicia. Most conventional barcode readers use one of two general approaches to gathering data: either by using a flying-spot laser scanner, or by using a photosensitive imaging device. In flying-spot laser scanning systems, a beam of light is swept across a target barcode, and the reflected and/or refracted light from the target is detected and processed to decode the barcode. In imaging barcode readers, an image of the barcode is captured using an array of pixels (for example, a CCD array, or an active or passive CMOS array), and the captured image is processed to decode the barcode. Either a one dimensional array of pixels or a two-dimensional array of pixels can be used to capture the barcode data. A light source may also be used to illuminate the target.
Many optical readers are specifically designed for reading barcode labels. A barcode label comprises a series of parallel dark bars of varying widths with intervening light spaces, also of varying widths. The information encoded in the barcode is represented by the specific sequence of bar and space widths, the precise nature of this representation depending on the particular barcode symbology in use. Two dimensional barcodes and other codes are also becoming increasingly common, and include, for example, stacked codes (e.g., Code 16K, Code 49, etc.), matrix codes (e.g., DataMatrix, Code 1, Maxicode, etc.), PDF417, micro-PDF, and RSS codes. Two-dimensional codes may be present as part of a composite code or linked code, wherein a one-dimensional barcode appears on the same label as, and indicates the presence of, a two-dimensional barcode. When bar code information is read by the optical reader, a decoding process is carried out to interpret the information encoded on the barcode.
To read a barcode or other similar symbol, light detected by the photosensitive element (e.g., photodiode or CCD or CMOS array) results in generation of an electronic signal having an amplitude that alternates between two general levels, one level representative of the dark bars and the other level representative of the light spaces. The temporal widths of these alternating pulses of high and low levels correspond to the spatial widths of the bars and spaces, or other relatively light and dark features of the target. The sequence of alternating pulses of varying widths may be detected and measured, and such data presented to an electronic decoding apparatus for decoding of the information encoded in the barcode or other symbol.
To detect and measure the features of a read bar code or symbol, high-to-low or low-to-high transitions (i.e., edges) in the raw electronic signal are detected. A common and well known technique for edge detection is second derivative signal processing. In second derivative signal processing systems, optical edges result in peaks in the first derivative signal, and zero crossings in the second derivative signal. In such systems, zero crossings of the second derivative of the electronic signal are found during selected timing intervals as a means of detecting valid transitions. Examples of this technique are described in U.S. Pat. No. 4,000,397 entitled xe2x80x9cSignal Processor Method and Apparatusxe2x80x9d issued in the name of Hebert et al., and in U.S. Pat. No. 5,925,868 entitled xe2x80x9cMethod and Apparatus for Determining Transitions Between Relatively High and Low Levels in an Input Signalxe2x80x9d issued in the name of Arends et al., and in U.S. Pat. No. 5,923,023 entitled xe2x80x9cMethod and Apparauts for Detecting Transitions in an Input Signalxe2x80x9d also issued in the name of Arends et al. Each of the three foregoing patents are assigned to the assignee of the present application, and each is hereby incorporated by reference as if fully set forth herein.
Edge detection is commonly employed in flying-spot laser scanners, which typically read in a pattern of lines and therefore are particularly well suited to linear processing. For imaging devices which capture an entire image at one time, such as by using a CCD or CMOS imaging array, other types of processing may occur instead of traditional edge detection. For example, as the image data from the CCD or CMOS device is read out, the image data may be digitized and stored in memory, typically in either a binary or gray-scale representation. A processor may then apply various algorithms to search the captured image and attempt to identify features in the image corresponding to bar codes or other symbols to be detected.
Triggerless operation of bar code scanners has been found to be convenient in certain applications. One type of triggerless xe2x80x9chands freexe2x80x9d bar code or symbol scanner is described in U.S. Pat. No. 5,260,554 issued on Nov. 9, 1993 to Scott R. Grodevant, and assigned to the assignee of the present invention. As described therein, a triggerless optical reader is placed in a cradle of a stand so that the view of the optical reader points downward towards the base of the stand. A reflector is affixed to the upper surface of the base of the stand, within the viewpath of the optical reader. The optical reader monitors the presence of the reflector and, so long as it is present, the optical reader does not initiate a scan. However, when an object is interposed between the scan head and the reflector, the reflector is blocked and, when failing to detect the reflector, the optical reader initiates a scan. The operator therefore does not need to pull a trigger on the optical reader to initiate scanning.
The optical reader described in U.S. Pat. No. 5,260,554 has a flying-spot laser scanner front end. The optical reader pulses the laser on and off with a duty cycle of approximately 5%, and monitors the return pulses. Because of the high reflectivity of the reflector, the return pulses have a relatively high intensity. After a fairly large sample (e.g., 50) of pulses, a decision as to the presence of the reflector is made. Specifically, the number of edges detected is compared against a determined value, and if the number of edges matches the expected number, the reflector is assumed to be present. Otherwise, the reflector is assumed to be blocked or missing (i.e., the optical reader has been removed from the cradle), and the optical reader automatically begins to scan.
While the optical reader described in U.S. Pat. No. 5,260,554 has many advantages, the technique described therein is particularly well suited for flying-spot laser scanners. Possibilities for optimizing the technique for other types of optical readers may exist.
Another technique for automatically detecting objects in the field of view of the optical scanner is described in U.S. Pat. No. 5,949,052 issued on Sep. 7, 1999 to
A problem that exists in the field of optical readers relying on imaging devices such as CCDs is that a wide range of input light levels can occur, depending on such factors as target distance and ambient light level. Processing of the imaging device output signal can be made more difficult due to the unpredictable nature of the signal amplitude from read to read. A related problem is that, due to the effect of ambient light, some optical readers can be temporarily xe2x80x9cblindedxe2x80x9d by a high ambient light level (such as pointing the optical reader at the sun or a bright light), which can cause saturation of the photosensitive device used in the optical reader.
Another problem that exists in the field of optical readers is attempting to read a target that is not perfectly oriented within the field of view of the optical reader, but rather is skewed or angled with respect to the optical reader. With manual presentation of products bearing labels and symbols to the optical reader, the chances are high that the target to be read will not be perfectly aligned with respect to the imaging plane of the optical reader. When a target is skewed, meaning that it is presented at an angle such that one side is closer than the other, features at one side of the target appear larger than at the other side of the target. Similarly, when a target is off-pitch, meaning that it is presented at an angle such that the top is closer than the bottom or vice versa, features at the top appear larger than those at the bottom, or vice versa. Target skew and pitch can cause errors in attempting to read or decode the target.
It would be advantageous to provide an optical reader having an ability to detect the characteristics of the target prior to reading, including characteristics such as target skew and pitch. It would further be advantageous to provide an optical reader having a more nearly constant input signal level from an imaging device, or that is not subject to saturation of the photosensor due to ambient light effects prior to reading. It would further be advantageous to provide a triggerless optical reader having an automatic reading capability, using methods that are particularly adapted to such a reader.
The present invention is directed in one aspect to a method and apparatus for reading a barcode or other symbol, indicia, character or combination thereof with improved accuracy be detecting characteristics of the target such as pitch and skew.
In one embodiment as described herein, an optical reader includes targeting illuminators (e.g., LEDs) which generate a predetermined illumination pattern upon a target. The optical reader captures an image of the target and processes the captured image to determine whether the target is off-pitch or skewed, by analyzing the appearance and characteristics of the predetermined illumination pattern.
In a preferred embodiment as described herein, the illumination pattern consists of two identical triangles adjacently located but slightly separated so as to cause the pattern to be symmetrical when the target is at perfect alignment. When the target is skewed, one of the two triangles will appear to be longer than the other. The optical reader processes the captured image to detect the different in length of the two triangles, and determines the angle of skew thereby. When the target is off-pitch, the two triangles will appear to be separated by a greater amount at the top of the two triangles than at the bottom, or vice versa. The optical reader processes the captured image to detect the difference in separations at the bottom and top of the two triangles, and determines the angle of pitch thereby. The optical reader may use the knowledge of pitch and skew to improve reading of the target thereafter.
In another aspect of the invention, automatic gain control circuitry is provided in an optical reader utilizing an imaging device to capture an image of a target. The automatic gain control circuitry provides a more nearly constant input signal to subsequent circuitry which interprets the image data and which may attempt to locate a bar code, symbol or other indicia in said data. In a particular embodiment, the gain level is continuously adjusted when the optical reader is in a standby mode. When the optical reader leaves the standby mode and begins reading, the gain level of the automatic gain control is pre-adjusted, resulting in a faster read of good data.
In another aspect of the invention, a triggerless optical reader is provided. The triggerless optical reader is placed in a cradle of a stand and positioned to view downwards therefrom towards the base of the stand. A known target is affixed to or imprinted upon the upper surface of the base, within the viewpath of the optical reader. The triggerless optical reader continuously captures images and attempts to identify the known target. So long as the known target is identified, the optical reader will remain in a standby mode. If the target is obstructed or the optical reader removed from the cradle, the optical reader will no longer be able to view the known target. The optical reader will then enter a reading mode. In a preferred embodiment as described herein, the known target is a solid circle on a contrasting background.